/**
 * @file x264_wrapper.cpp
 * Copyright (c) Gaaagaa. All rights reserved.
 * 
 * @author  : Gaaagaa
 * @date    : 2020-03-20
 * @version : 1.0.0.0
 * @brief   : 封装 libx264 API，实现 H.264 视频编码操作的工具类。
 */

#include "x264_wrapper.h"
#include <x264/x264.h>

////////////////////////////////////////////////////////////////////////////////
// x264_encoder_t

//====================================================================

// 
// x264_encoder_t : constructor/destuctor
// 

x264_encoder_t::x264_encoder_t(void)
    : m_xht_encoder(X_NULL)
{

}

x264_encoder_t::~x264_encoder_t(void)
{
    close();
}

//====================================================================

// 
// x264_encoder_t : public interfaces
// 

/**********************************************************/
/**
 * @brief 打开编码器对象。
 * 
 * @param [in ]  : 。
 * 
 * @return x_errno_t : 错误码。
 * @retval X_ERR_OK, 操作成功。
 * @retval XERR_HINO(xerr_no)，参看 xerrno_table_t 相关枚举值。
 * @retval XERR_LONO(xerr_no)，所引用的模块返回的错误码值。
 */
x_errno_t x264_encoder_t::open(x_uint32_t xut_config)
{
    x_errno_t xerr_no = X_ERR_UNKNOW;
    x_int32_t xit_err = X_ERR_UNKNOW;

    do
    {
        //======================================



        //======================================
        xerr_no = X_ERR_OK;
    } while (0);

    return xerr_no;
}

/**********************************************************/
/**
 * @brief 关闭编码器对象。
 */
x_void_t x264_encoder_t::close(void)
{
    if (X_NULL != m_xht_encoder)
    {
        m_xht_encoder = X_NULL;
    }
}

